package cn.gok.code.service.Impl;

import cn.gok.code.entity.Clazz;
import cn.gok.code.entity.Student;
import cn.gok.code.mapper.ClazzMapper;
import cn.gok.code.mapper.StudentMapper;
import cn.gok.code.service.MyBaseService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
 * @ClassName ClazzService
 * @Description TODO
 * @Author HP
 * @Date 17:00 2022/7/21
 * @Version 1.0
 **/
@Service
@Primary//添加一个默认的，不然会跑不起来
public class ClazzService extends MyBaseService<Clazz, ClazzMapper> {
    @Autowired
    private ClazzMapper mapper;
    @Autowired
    private StudentMapper studentMapper;
//    3）	查询所有班级信息和对应的学生信息
    public Map<Clazz, List<Student>> selStudentsToClazz(){
        Map<Clazz, List<Student>> map=new HashMap<>();
//        查询所有班级
        List<Clazz> clazzes=mapper.selectList(null);
        clazzes.forEach(c -> {
//            这里注意不可以放在外面，Wrapper的参数不会改变
            QueryWrapper<Student> wrapper=new QueryWrapper<>();
            wrapper.eq("cid",c.getCid());
            List<Student> students=studentMapper.selectList(wrapper);
            map.put(c,students);
        });
//        根据班级来查询学生
        return map;
    }
}
